#ifndef H_STAGE
#define H_STAGE

struct Stage;

Stage *
Stage_Instance(void);

bool
Stage_Init(Stage *self);

void
Stage_Term(Stage *self);

bool
Stage_Load(Stage *self, const char *stageFile);

int
Stage_GetStageWidth(Stage *self);

int
Stage_GetStageHeight(Stage *self);

enum StageElementType {
    SE_None,
    SE_Brick,
    SE_Player,
    SE_Goal,

    SE_NUM
};

/* y==0: lowest height. y is up vector */
StageElementType
Stage_GetStageElement(Stage *self, int x, int y);

#endif /* H_STAGE */
